﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using common;
using common.pages;
using Com.queryzer2.Domain.Entities;

namespace Com.AlbLab.CR.Web.Pratiche
{
    public partial class InvioRisposte : common.pages.BasePage
    {

        private DS_snd_risposte data_inv_risp;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                CaricaListaPratiche();
            }
            GrigliaGenerica1.NumColonne = 5;
            GrigliaGenerica1.H0 = "Partita iva mittente";
            GrigliaGenerica1.H1 = "Codice Contratto Dispacciamento";
            GrigliaGenerica1.H2 = "Ragione Sociale";
            GrigliaGenerica1.H3 = "Pratiche da inviare";
            GrigliaGenerica1.DataSource = common.ToGenericListTransformers.transform(data_inv_risp);
            GrigliaGenerica1.Visible = true;
            C1.Visible = true;
        }

        // **
        // Questa procedura provvede a caricare le pratiche e popolare il dataset dei mittenti
        // in modo da poter selezionare le pratiche di cui si intende inviare le risposte.
        // **
        private void CaricaListaPratiche()
        {
            DS_snd_risposte.TBL_SND_risposteRow dr_ris;
            
            data_inv_risp = new DS_snd_risposte();

            List<GEP_TESTATA> searchResult = Services.AnagraficheService.ricercaPraticheByStato(5);
            foreach (GEP_TESTATA dr_gep in searchResult)
            {
                try
                {
                    dr_ris = data_inv_risp.TBL_SND_risposte.FindByRIS_piva_mitt(dr_gep.Tes_Piva_Utente);
                    if ((dr_ris == null) && (Services.AnagraficheService.getListaVenditori().ContainsKey(dr_gep.Gep_ana_vendi.Id_ven_cod_contr_disp)))
                    {
                        dr_ris = (DS_snd_risposte.TBL_SND_risposteRow)data_inv_risp.TBL_SND_risposte.NewRow();
                        dr_ris.RIS_piva_mitt = "pippo";    //dr_gep.Tes_Piva_Utente;
                        dr_ris.RIS_cod_disp = dr_gep.Tes_Cod_Contr_Disp;
                        dr_ris.RIS_nome = Services.AnagraficheService.getListaVenditori()[dr_gep.Gep_ana_vendi.Id_ven_cod_contr_disp].Ven_ragsoc;
                        data_inv_risp.TBL_SND_risposte.Rows.Add(dr_ris);
                    }
                    dr_ris.RIS_numero_pratiche += 1;
                }
                catch (Exception ex)
                { }
            }
        }

        protected void GrigliaGenerica1_OnSelect(string commandName, GenericListDTO row)
        {
            GrigliaGenerica1.Clear();
            common.TempSession.setBag("CODICE_PRATICA", row.Id.Split('/')[0]);
            Response.Redirect("Pratica.aspx");
        }
    }
}